Query Method 정의하기

✒️ 2025-05-28 13:25 내용 수정



Method 이름으로 query 설정

// Person 타입 객체를 찾는데, EmailAddress와 Lastname이 일치하는 객체를 찾음
List<Person> findByEmailAddressAndLastname(EmailAddress emailAddress, String lastname);

// distinct 구문 추가 - 중복 허용 x
// Person 타입 객체를 찾는데, Lastname이 일치하거나 Firstname이 일치하는 사람을 중복 없이 찾음
List<Person> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname);
List<Person> findPeopleDistinctByLastnameOrFirstname(String lastname, String firstname);

// 개별 특성에서 대소문자 구분 x
// Person 타입 객체를 찾는데, Lastname이 일치하며 대소문자 구분하지 않음
List<Person> findByLastnameIgnoreCase(String lastname);

// 모든 적합 특성에서 대소문자 구분 x
// Person 타입 객체를 찾는데, Lastname과 Firstname이 일치하며, 둘 다 대소문자 구분하지 않음
List<Person> findByLastnameAndFirstnameAllIgnoreCase(String lastname, String firstname);

// 정적 ORDER BY 옵션
// Person 타입 객체를 찾는데, Lastname이 일치하는 데이터를 Firstname 순으로 오름차순 정렬
List<Person> findByLastnameOrderByFirstnameAsc(String lastname);
// Person 타입 객체를 찾는데, Lastname이 일치하는 데이터를 Firstname 순으로 내림차순 정렬
List<Person> findByLastnameOrderByFirstnameDesc(String lastname);
class Person {
	String lastname;
	String firstname;
	EmailAddress emailAddress;
}